From the prior art, game machines are per se known with which a player operates a player moving body or the like within a virtual three-dimensional game space while looking at a game image which is displayed on a display. With this sort of game machine it is necessary to detect collisions with obstacles in order properly to perform game representation when the player moving body has collided with an obstacle such as another moving body or a building or wall. With this type of game accurate collision decision is necessary, since the manner in which this collision decision with respect to obstacles is performed is an important factor which dominates the interest of the game.
This type of collision decision is easy with driving games and the like in which the player moving body moves two-dimensionally. This is because with driving games and the like, the subjects for decision are extremely limited, since cases in which the height dimension is relevant for collision decision are uncommon, and normally it is sufficient to perform collision decision two-dimensionally with respect to obstacles which are present on both sides of the course and with other racing cars which are proceeding ahead, behind, on the left, and on the right.
However, when the player moving body is a moving object which flies freely in three-dimensional space such as an aircraft, the track of its motion can be set almost without limitation. In order to perform accurate collision decision in these sorts of circumstances, forward, backward, leftward, rightward, upward and downward three-dimensional collision decision is necessary between the player moving body and a large number of obstacles which are present in three-dimensional space. Due to this, the computation load on the CPU increases rapidly. The same problem arises as well with regard to shooting games in which three-dimensional hit checking is required.
When this kind of hit checking or collision decision is to be performed, such a performance of collision decision with respect to the obstacles itself in the virtual three-dimensional space, causes extreme increase in the amount of data and in the computation load. Thus, decision regions are defined whose form approximates to each obstacle, and decisions are made as to the presence or absence of collisions according to whether the position of the moving body is inside or outside the decision regions. By setting the decision regions so that they may be specified using as little data as possible and so that the computation load for the decisions is as light as possible, it is intended to reduce the amount of data and reduce the computation load for performing collision decision.
Decision regions (the term "hit box" will be used hereinafter) shaped as rectangular parallelepipeds have normally been used as these decision regions. This is because a rectangular parallelepiped has the advantages of being able to be specified with a small amount of data and of only requiring a light computation load for decision. When collision decision is being performed using a hit box, it is determined that a hit or collision has occurred when the position of a moving body or a bullet or the like comes to be inside this hit box.
For example, as shown in FIG. 7, when deciding whether or not a moving body has collided with a house 310, a hit box 300 is defined which approximates in form to the house 310. It is determined that a collision has occurred when the position of the moving body is inside this hit box 300.
However, when the decision region for an object which has a complicated shape is to be approximated by rectangular parallelepipeds, it is necessary to define the decision region as a combination of rectangular parallelepipeds in order to perform accurate collision decision. Accordingly there has been the problem that a large number of hit boxes has become necessary when defining the decision region, and this provokes increase in the computation load.
Further, generally, when defining the decision region for an object which is an obstacle, the more the object is of a simple rectilinear shape, the easier it becomes to define the decision region. However, with the method of making a decision as to whether a hit or collision has occurred by whether the moving body has come to be inside the hit box, it can al so happen that the amount of data and the computation load increases, even with simple rectilinear shapes as shown for example in FIG. 13A.